<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>IntegerDistribution (Apache Commons Math 3.6.1 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="IntegerDistribution (Apache Commons Math 3.6.1 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/IntegerDistribution.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/math3/distribution/HypergeometricDistribution.html" title="class in org.apache.commons.math3.distribution"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/math3/distribution/KolmogorovSmirnovDistribution.html" title="class in org.apache.commons.math3.distribution"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/distribution/IntegerDistribution.html" target="_top">Frames</a></li>
<li><a href="IntegerDistribution.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.math3.distribution</div>
<h2 title="Interface IntegerDistribution" class="title">Interface IntegerDistribution</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/commons/math3/distribution/AbstractIntegerDistribution.html" title="class in org.apache.commons.math3.distribution">AbstractIntegerDistribution</a>, <a href="../../../../../org/apache/commons/math3/distribution/BinomialDistribution.html" title="class in org.apache.commons.math3.distribution">BinomialDistribution</a>, <a href="../../../../../org/apache/commons/math3/distribution/EnumeratedIntegerDistribution.html" title="class in org.apache.commons.math3.distribution">EnumeratedIntegerDistribution</a>, <a href="../../../../../org/apache/commons/math3/distribution/GeometricDistribution.html" title="class in org.apache.commons.math3.distribution">GeometricDistribution</a>, <a href="../../../../../org/apache/commons/math3/distribution/HypergeometricDistribution.html" title="class in org.apache.commons.math3.distribution">HypergeometricDistribution</a>, <a href="../../../../../org/apache/commons/math3/distribution/PascalDistribution.html" title="class in org.apache.commons.math3.distribution">PascalDistribution</a>, <a href="../../../../../org/apache/commons/math3/distribution/PoissonDistribution.html" title="class in org.apache.commons.math3.distribution">PoissonDistribution</a>, <a href="../../../../../org/apache/commons/math3/distribution/UniformIntegerDistribution.html" title="class in org.apache.commons.math3.distribution">UniformIntegerDistribution</a>, <a href="../../../../../org/apache/commons/math3/distribution/ZipfDistribution.html" title="class in org.apache.commons.math3.distribution">ZipfDistribution</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">IntegerDistribution</span></pre>
<div class="block">Interface for distributions on the integers.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#cumulativeProbability(int)">cumulativeProbability</a></strong>(int&nbsp;x)</code>
<div class="block">For a random variable <code>X</code> whose values are distributed according
 to this distribution, this method returns <code>P(X &lt;= x)</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#cumulativeProbability(int,%20int)">cumulativeProbability</a></strong>(int&nbsp;x0,
                     int&nbsp;x1)</code>
<div class="block">For a random variable <code>X</code> whose values are distributed according
 to this distribution, this method returns <code>P(x0 &lt; X &lt;= x1)</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#getNumericalMean()">getNumericalMean</a></strong>()</code>
<div class="block">Use this method to get the numerical value of the mean of this
 distribution.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#getNumericalVariance()">getNumericalVariance</a></strong>()</code>
<div class="block">Use this method to get the numerical value of the variance of this
 distribution.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#getSupportLowerBound()">getSupportLowerBound</a></strong>()</code>
<div class="block">Access the lower bound of the support.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#getSupportUpperBound()">getSupportUpperBound</a></strong>()</code>
<div class="block">Access the upper bound of the support.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#inverseCumulativeProbability(double)">inverseCumulativeProbability</a></strong>(double&nbsp;p)</code>
<div class="block">Computes the quantile function of this distribution.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#isSupportConnected()">isSupportConnected</a></strong>()</code>
<div class="block">Use this method to get information about whether the support is
 connected, i.e.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#probability(int)">probability</a></strong>(int&nbsp;x)</code>
<div class="block">For a random variable <code>X</code> whose values are distributed according
 to this distribution, this method returns <code>P(X = x)</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#reseedRandomGenerator(long)">reseedRandomGenerator</a></strong>(long&nbsp;seed)</code>
<div class="block">Reseed the random generator used to generate samples.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#sample()">sample</a></strong>()</code>
<div class="block">Generate a random value sampled from this distribution.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/IntegerDistribution.html#sample(int)">sample</a></strong>(int&nbsp;sampleSize)</code>
<div class="block">Generate a random sample from the distribution.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="probability(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>probability</h4>
<pre>double&nbsp;probability(int&nbsp;x)</pre>
<div class="block">For a random variable <code>X</code> whose values are distributed according
 to this distribution, this method returns <code>P(X = x)</code>. In other
 words, this method represents the probability mass function (PMF)
 for the distribution.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - the point at which the PMF is evaluated</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value of the probability mass function at <code>x</code></dd></dl>
</li>
</ul>
<a name="cumulativeProbability(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cumulativeProbability</h4>
<pre>double&nbsp;cumulativeProbability(int&nbsp;x)</pre>
<div class="block">For a random variable <code>X</code> whose values are distributed according
 to this distribution, this method returns <code>P(X &lt;= x)</code>.  In other
 words, this method represents the (cumulative) distribution function
 (CDF) for this distribution.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - the point at which the CDF is evaluated</dd>
<dt><span class="strong">Returns:</span></dt><dd>the probability that a random variable with this
 distribution takes a value less than or equal to <code>x</code></dd></dl>
</li>
</ul>
<a name="cumulativeProbability(int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cumulativeProbability</h4>
<pre>double&nbsp;cumulativeProbability(int&nbsp;x0,
                           int&nbsp;x1)
                             throws <a href="../../../../../org/apache/commons/math3/exception/NumberIsTooLargeException.html" title="class in org.apache.commons.math3.exception">NumberIsTooLargeException</a></pre>
<div class="block">For a random variable <code>X</code> whose values are distributed according
 to this distribution, this method returns <code>P(x0 &lt; X &lt;= x1)</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>x0</code> - the exclusive lower bound</dd><dd><code>x1</code> - the inclusive upper bound</dd>
<dt><span class="strong">Returns:</span></dt><dd>the probability that a random variable with this distribution
 will take a value between <code>x0</code> and <code>x1</code>,
 excluding the lower and including the upper endpoint</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NumberIsTooLargeException.html" title="class in org.apache.commons.math3.exception">NumberIsTooLargeException</a></code> - if <code>x0 &gt; x1</code></dd></dl>
</li>
</ul>
<a name="inverseCumulativeProbability(double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>inverseCumulativeProbability</h4>
<pre>int&nbsp;inverseCumulativeProbability(double&nbsp;p)
                                 throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></pre>
<div class="block">Computes the quantile function of this distribution.
 For a random variable <code>X</code> distributed according to this distribution,
 the returned value is
 <ul>
 <li><code>inf{x in Z | P(X<=x) >= p}</code> for <code>0 &lt; p &lt;= 1</code>,</li>
 <li><code>inf{x in Z | P(X<=x) > 0}</code> for <code>p = 0</code>.</li>
 </ul>
 If the result exceeds the range of the data type <code>int</code>,
 then <code>Integer.MIN_VALUE</code> or <code>Integer.MAX_VALUE</code> is returned.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>p</code> - the cumulative probability</dd>
<dt><span class="strong">Returns:</span></dt><dd>the smallest <code>p</code>-quantile of this distribution
 (largest 0-quantile for <code>p = 0</code>)</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if <code>p &lt; 0</code> or <code>p &gt; 1</code></dd></dl>
</li>
</ul>
<a name="getNumericalMean()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumericalMean</h4>
<pre>double&nbsp;getNumericalMean()</pre>
<div class="block">Use this method to get the numerical value of the mean of this
 distribution.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the mean or <code>Double.NaN</code> if it is not defined</dd></dl>
</li>
</ul>
<a name="getNumericalVariance()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumericalVariance</h4>
<pre>double&nbsp;getNumericalVariance()</pre>
<div class="block">Use this method to get the numerical value of the variance of this
 distribution.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the variance (possibly <code>Double.POSITIVE_INFINITY</code> or
 <code>Double.NaN</code> if it is not defined)</dd></dl>
</li>
</ul>
<a name="getSupportLowerBound()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSupportLowerBound</h4>
<pre>int&nbsp;getSupportLowerBound()</pre>
<div class="block">Access the lower bound of the support. This method must return the same
 value as <code>inverseCumulativeProbability(0)</code>. In other words, this
 method must return
 <p><code>inf {x in Z | P(X <= x) > 0}</code>.</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>lower bound of the support (<code>Integer.MIN_VALUE</code>
 for negative infinity)</dd></dl>
</li>
</ul>
<a name="getSupportUpperBound()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSupportUpperBound</h4>
<pre>int&nbsp;getSupportUpperBound()</pre>
<div class="block">Access the upper bound of the support. This method must return the same
 value as <code>inverseCumulativeProbability(1)</code>. In other words, this
 method must return
 <p><code>inf {x in R | P(X <= x) = 1}</code>.</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>upper bound of the support (<code>Integer.MAX_VALUE</code>
 for positive infinity)</dd></dl>
</li>
</ul>
<a name="isSupportConnected()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSupportConnected</h4>
<pre>boolean&nbsp;isSupportConnected()</pre>
<div class="block">Use this method to get information about whether the support is
 connected, i.e. whether all integers between the lower and upper bound of
 the support are included in the support.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>whether the support is connected or not</dd></dl>
</li>
</ul>
<a name="reseedRandomGenerator(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reseedRandomGenerator</h4>
<pre>void&nbsp;reseedRandomGenerator(long&nbsp;seed)</pre>
<div class="block">Reseed the random generator used to generate samples.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>seed</code> - the new seed</dd><dt><span class="strong">Since:</span></dt>
  <dd>3.0</dd></dl>
</li>
</ul>
<a name="sample()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sample</h4>
<pre>int&nbsp;sample()</pre>
<div class="block">Generate a random value sampled from this distribution.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>a random value</dd><dt><span class="strong">Since:</span></dt>
  <dd>3.0</dd></dl>
</li>
</ul>
<a name="sample(int)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>sample</h4>
<pre>int[]&nbsp;sample(int&nbsp;sampleSize)</pre>
<div class="block">Generate a random sample from the distribution.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sampleSize</code> - the number of random values to generate</dd>
<dt><span class="strong">Returns:</span></dt><dd>an array representing the random sample</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></code> - if <code>sampleSize</code> is not positive</dd><dt><span class="strong">Since:</span></dt>
  <dd>3.0</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/IntegerDistribution.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/math3/distribution/HypergeometricDistribution.html" title="class in org.apache.commons.math3.distribution"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/math3/distribution/KolmogorovSmirnovDistribution.html" title="class in org.apache.commons.math3.distribution"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/distribution/IntegerDistribution.html" target="_top">Frames</a></li>
<li><a href="IntegerDistribution.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2003&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
